// pages/MVDetail/MVDetail.js
import request from '../../utils/request';

Page({
  data: {
    mvDetail: {}, // MV 详情数据
    videoUrl: '', // MV 视频地址
    mvid: '' // MV ID
  },

  // 页面加载时初始化数据
  onLoad(options) {
    const { mvid } = options; // 获取路由参数中的 mvid
    this.setData({ mvid });
    this.loadMVDetail(mvid);
    this.loadMVUrl(mvid);
  },

  // 加载 MV 详情
  async loadMVDetail(mvid) {
    try {
      const res = await request(`/mv/detail?mvid=${mvid}`);
      console.log('MV 详情数据:', res);

      if (res && res.data) {
        this.setData({
          mvDetail: res
        });
      } else {
        console.error('MV 详情数据为空或格式不正确');
        wx.showToast({ title: '数据加载失败，请重试', icon: 'none' });
      }
    } catch (error) {
      console.error('加载 MV 详情失败:', error);
      wx.showToast({ title: '加载失败', icon: 'none' });
    }
  },

  // 加载 MV 视频地址
  async loadMVUrl(mvid) {
    try {
      const res = await request(`/mv/url?id=${mvid}&r=1080`);
      console.log('MV 视频地址数据:', res);

      if (res && res.data && res.data.url) {
        this.setData({
          videoUrl: res.data.url
        });
      } else {
        console.error('MV 视频地址数据为空或格式不正确');
        wx.showToast({ title: '视频加载失败，请重试', icon: 'none' });
      }
    } catch (error) {
      console.error('加载 MV 视频地址失败:', error);
      wx.showToast({ title: '加载失败', icon: 'none' });
    }
  },

  // 处理视频播放错误
  handleVideoError(e) {
    console.error('视频播放失败:', e.detail.errMsg);
    wx.showToast({ title: '视频播放失败，请重试', icon: 'none' });

    // 尝试重新加载视频地址
    this.loadMVUrl(this.data.mvid);
  }
});